Results for spec@ext_transform_feedback@structs array-struct-array-struct run-no-fs

Overview

Result: fail

Back to summary

Details

Detail Value
Returncode 1
Time 0:00:00.261726
Stdout
Output v[0].e[0].a element 0: expected 1, got -858993460
Output v[0].e[1].a element 0: expected 11, got -858993460
Output v[1].e[0].a element 0: expected 101, got -858993460
Output v[1].e[1].a element 0: expected 111, got -858993460
Output v[0].e[0].b element 0: expected 2.000000, got -107374176.000000
Output v[0].e[1].b element 0: expected 12.000000, got -107374176.000000
Output v[1].e[0].b element 0: expected 102.000000, got -107374176.000000
Output v[1].e[1].b element 0: expected 112.000000, got -107374176.000000
Output v[0].f[0].c element 0: expected 3.000000, got -107374176.000000
Output v[0].f[1].c element 0: expected 13.000000, got -107374176.000000
Output v[1].f[0].c element 0: expected 103.000000, got -107374176.000000
Output v[1].f[1].c element 0: expected 113.000000, got -107374176.000000
Output v[0].f[0].d element 0: expected 4, got -858993460
Output v[0].f[1].d element 0: expected 14, got -858993460
Output v[1].f[0].d element 0: expected 104, got -858993460
Output v[1].f[1].d element 0: expected 114, got -858993460
Vertex shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) flat DIR TYPE NAME
#define VARYING(NAME) NAME
struct S { int a; float b; };
struct T { float c; int d; };
struct U { S[2] e; T[2] f; };
in vec4 pos;
DECLARE_VARYING(out, U[2], v);
void main()
{
  gl_Position = pos;
  for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 2; j++) {
      VARYING(v)[i].e[j].a = 100 * i + 10 * j + 1;
      VARYING(v)[i].e[j].b = float(100 * i + 10 * j + 2);
      VARYING(v)[i].f[j].c = float(100 * i + 10 * j + 3);
      VARYING(v)[i].f[j].d = 100 * i + 10 * j + 4;
    }
  }
}

Fragment shader:
#version 150
#define DECLARE_VARYING(DIR, TYPE, NAME) flat DIR TYPE NAME
#define VARYING(NAME) NAME
struct S { int a; float b; };
struct T { float c; int d; };
struct U { S[2] e; T[2] f; };
DECLARE_VARYING(in, U[2], v);
out vec4 color;
void main()
{
  bool pass = true;
  for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 2; j++) {
      if (VARYING(v)[i].e[j].a != 100 * i + 10 * j + 1) pass = false;
      if (VARYING(v)[i].e[j].b != float(100 * i + 10 * j + 2)) pass = false;
      if (VARYING(v)[i].f[j].c != float(100 * i + 10 * j + 3)) pass = false;
      if (VARYING(v)[i].f[j].d != 100 * i + 10 * j + 4) pass = false;
    }
  }
  if (pass)
    color = vec4(0.0, 1.0, 0.0, 1.0);
  else
    color = vec4(1.0, 0.0, 0.0, 1.0);
}

Stderr
SWR detected AVX2
vert shader  0x7f23aa35a000
frag shader  0x7f23aa358000
so shader    0x7f23aa356000
fetch shader 0x7f23aa354000
SWR destroy screen!
Environment
PIGLIT_SOURCE_DIR="/home/ilia/src/piglit" PIGLIT_PLATFORM="mixed_glx_egl"
Command /home/ilia/src/piglit/bin/ext_transform_feedback-structs array-struct-array-struct run-no-fs -auto -fbo
dmesg

        

Back to summary